package cn.tedu.thread;
/**本类用于多线程编程实现方案2:实现Runnable接口的方式*/
public class TestThread2 {
    public static void main(String[] args) {
        //4.创建自定义类的对象--目标业务类对象
        MyRunnable target = new MyRunnable();
        //5.如何启动线程?自己没有,需要与Thread类建立关系
        //利用的是Thread的构造方法Thread(Runnable target)
        Thread t1 = new Thread(target);
        Thread t2 = new Thread(target);
        Thread t3 = new Thread(target);
        Thread t4 = new Thread(target);
        //6.以多线程的方式运行多个线程
        t1.start();
        t2.start();
        t3.start();
        t4.start();
    }
}

//1.自定义多线程类
class MyRunnable implements Runnable{
    //2.添加父接口中未实现的抽象方法run(),里面是自己的业务
    @Override
    public void run() {
        //3.打印10次当前正在执行的线程名称
        for (int i = 0; i < 10; i++) {
            /*问题:自定义类与父接口Runnable中都没有获取线程名字的方法
             * 所以还需要从之前的Thread线程类中找思路:
             * currentThread():先通过这个静态方法,获取当前正在执行的线程对象
             * getName():然后获取这个线程对象的名字*/
            System.out.println(i+"="+Thread.currentThread().getName());
        }
    }
}
